﻿using System;
using Z16.BLI;
using System.Data;

namespace Z16.SITE
{
    public partial class ListarDemanda : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if ((Session["CodPerfil"] == null) || (Session["CodUsr"] == null))
                {
                    Response.Write("<script>window.location=\'Login.aspx';</script>");
                    return;
                }

                CarregarDemandas(null,null,null,null,null,null);
                carregarPrioridade();
                carregarProjeto();
            }
        }

        private DataTable CarregarDemandas(long? codDemanda,string nomDemanda,DateTime? dtIni, DateTime? dtFim,int? codProj,int? codPri)
        {
            Demanda demanda = new Demanda();
            DataTable tabela = null;

            try
            {
                tabela = demanda.ListarDemandas(codDemanda,nomDemanda,dtIni,dtFim,codProj,codPri);
                GridView1.DataSource = tabela;
                GridView1.DataBind();
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
            finally
            {
                demanda = null;
            }
            return tabela;
        }

        private void carregarProjeto()
        {
            Demanda demanda = new Demanda();

            ddlProjeto.Items.Clear();
            ddlProjeto.AppendDataBoundItems = true;
            ddlProjeto.Items.Insert(0, "Selecione");

            ddlProjeto.DataSource = demanda.listarProjeto();
            ddlProjeto.DataValueField = "IntCodProjeto";
            ddlProjeto.DataTextField = "StrNomeProjeto";
            ddlProjeto.DataBind();
        }

        private void carregarPrioridade()
        {
            Demanda demanda = new Demanda();

            ddlPrioridade.Items.Clear();
            ddlPrioridade.AppendDataBoundItems = true;
            ddlPrioridade.Items.Insert(0, "Selecione");

            ddlPrioridade.DataSource = demanda.listarPrioridade();
            ddlPrioridade.DataValueField = "IntCodPrioridade";
            ddlPrioridade.DataTextField = "StrNomePrioridade";
            ddlPrioridade.DataBind();
        }

        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            Demanda demanda = new Demanda();
            DataTable tabela = null;
            string nomDemanda = null;
            DateTime? dtIni = null;
            DateTime? dtFim = null;
            int? codProj = null;
            int? codPri = null;

            try
            {
                if (txtDemanda.Text != "")
                    nomDemanda = txtDemanda.Text;

                if (txtDataIni.Text != "")
                    dtIni = DateTime.Parse(txtDataIni.Text);

                if (txtDataFim.Text != "")
                    dtFim = DateTime.Parse(txtDataFim.Text);

                if (ddlProjeto.SelectedValue != "Selecione")
                    codProj = int.Parse(ddlProjeto.SelectedValue);

                if (ddlPrioridade.SelectedValue != "Selecione")
                    codPri = int.Parse(ddlPrioridade.SelectedValue);
                    
                tabela = demanda.ListarDemandas(null, nomDemanda, dtIni, dtFim,codProj,codPri);
                GridView1.DataSource = tabela;
                GridView1.DataBind();
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
            finally
            {
                demanda = null;
            }
        }
    }

}